#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/**
 * 创建进程
 **/
int main(int argc, char *argv[])
{
    char buffer[30];
    pid_t pid;    // 此时仅有一个进程
    memset(buffer,0,30);
    pid = fork(); // 此时已经有两个进程在同时运行
    if(pid < 0)
    {
        printf("Error in fork!");
        return 1;
    }
    else if(pid == 0)  // 子进程中
    {
        printf("子进程 pid = %d\n",getpid());
        printf("Buffer content(Child process):");
        puts(buffer);
    }
    else  // 父进程中
    {
        printf("父进程 pid = %d\n",getpid());
        strcpy(buffer, "I like Linux C program!");
        printf("Buffer content(Parent process):");
        puts(buffer);
    }
    return 0;
}
